草庐IT

c++ - std::auto_ptr、delete[] 和泄漏

全部标签

javascript - 为什么javascript在delete时区分有无声明的赋值?

这个问题在这里已经有了答案:Effectofdeclaredandundeclaredvariables(4个答案)关闭9年前。在全局上下文中执行下面的代码:varx=1;y=1deletex//falsedeletey//truex和y都是全局对象的属性。为什么javascript必须在某种程度上区分它们?根据ES5标准很容易遵循套路thedeleteoperator和theobjectinternalmethod[[delete]].表达的更明确的问题是,为什么它们采用不同的[[configurable]]属性?

javascript - knockout 映射插件中的奇怪内存泄漏

在View模型是使用knockout.mapping插件创建的情况下,无法弄清楚为什么处理计算的可观察对象不会从全局变量中删除订阅。首先让我们看看直接创建模型时会发生什么://Globalvariable.varEnvironment={currencyStr:ko.observable("usd.")};//Itemmodel,usedintensively.functionItemModel(price){varself=this;this.price=ko.computed(function(){//Computedissubscribedtoglobalvariable.ret

javascript - 在仅 nodejs 环境中的 ES6 模块/类中定义 'real' 私有(private)方法,没有任何信息泄漏

我知道没有REAL私有(private)方法INSIDEES6类。然而,我玩了一会儿,发现了一些好东西——也许……正如我提到的,不公开对象的属性是不可能的。但是我试图实现一些OOP编程,因为我将我的类分成单独的文件,然后导出这些类,如:classMyClass{constructor(){/***Initializestuff...*/}myMethod(){/***Dopublicstuff...*/}}//exposeclasstoenvironment.exportdefaultMyClass;所以我可以导入类:从'./MyClass.js'导入MyClass;当然myMetho

Javascript 内存泄漏 : why would assigning object to null work?

关于用于防止内存泄漏的空赋值修复的性质,有人可以为我挠痒痒吗?我们都熟悉以下技术来阻止DOM对象和JS对象之间的循环引用,以防止内存泄漏:functionfoo(){varele=document.getElementById("someParagraphId");ele.onclick=function(){//someactionhere};ele=null;}问题是为什么上面的方法会起作用?将“ele”设置为null肯定会停止循环引用,但它不会也阻止将来对“ele”的引用吗?functionfoo(){varele=document.getElementById("somePar

javascript - jQuery 内存泄漏怀疑

我正在为XML发出AJAX请求。我每秒都在这样做。我注意到我的内存使用量增长到数百兆字节。正如您所想象的,客户对此并不满意。在各个地方阅读之后,我怀疑函数闭包让我头疼。我正在寻找可以进行的任何验证以及有关如何修复它的任何帮助。functionPageManager(){varself=this;self.timeoutHandler=function(){$.ajax({url:'URLtoXML',type:'post',cache:false,context:self,success:function(data){varslf=this;varxmlDoc=$($.parseXML

javascript - `delete` 在 JavaScript 中非常有用的一些用例是什么?

我们在这里有一些问题以更抽象的方式讨论删除,但我正在寻找何时可以使用delete的实际示例,而不是做一些事情,例如将属性设置为为空或未定义。Thedeleteoperatordeletesapropertyofanobject.什么地方面临挑战,delete是最佳解决方案,而不是其他解决方案? 最佳答案 将对象用作HashMap时,您可以使用以下方法迭代对象的属性:for(varkeyinobj){//...}如果该对象的某些属性设置为null,它们的键将包含在那里。通过使用delete,您可以完全删除他们的key。

javascript - 为什么初始化多个变量会导致范围泄漏?

我指的是JavaScriptvarhoisting的文档,在一个部分我找到了Initializationofseveralvariables用Example如下所示。varx=0;functionf(){varx=y=1;}f();console.log(x,y);//outputs0,1//xistheglobaloneasexpected//yleakedoutsideofthefunction,though!我想得到的异常是UncaughtReferenceError:yisnotdefined。但由于范围泄漏并没有发生,它正在显示0,1。我能详细知道为什么会这样吗?最后有任何与

javascript - 在数组上使用 delete 和随后的 .push() 会影响性能/内存消耗吗?

问题在数组元素上使用delete将其从数组中删除是我知道的从数组中删除元素的唯一方法,例如.forEach()调用跳过索引。问题是否在索引上使用delete,例如exampleArray[i],导致后续的exampleArray.push()增加内存数组对象的消耗?删除对象如何影响垃圾收集器?是否有更有效的方法来去除exampleArray元素?前者的例子varexampleArray=[];varn=500;//Doesthislineimplyamemoryallocation?exampleArray.length=n;exampleArray.fill("LoremIpsum"

javascript - 是否可以异步运行 WebAssembly 代码?

我已经编写了一个C函数,我可以使用WebAssembly从Angular/TypeScript/JavaScript执行它:testWebAssembly(){Module.ccall("aCFunction",null,[],[]);//takesafewsecondstofinish}此函数执行一些繁重的数学计算,需要几秒钟才能完成。当用户点击按钮时触发:LaunchCfunction是否可以执行函数,使其不阻塞Web应用程序的UI?我尝试了setTimeOut/async/Promise,但我似乎无法让它工作。谢谢! 最佳答案

javascript内存泄漏

我有一些javascript(与googlemapsapi一起使用),我正在IE和Chrome上进行测试,并且仅在IE中注意到内存泄漏症状:当我连续刷新页面时,IE中使用的内存量不断增长(快速),但在Chrome中它保持不变。在不发布所有代码的情况下(因为它相当长),我可以得到一些关于要注意什么的建议吗?什么会导致内存在IE中在页面刷新时像这样不断增长?就像我说的那样,我知道没有代码会很困难,但我想看看是否有任何通用建议首先起作用。谢谢。更新:感谢到目前为止的回复。作为完整性检查,我运行了googlemapsapi“HelloWorld”代码fromgoogle看看在IE中会发生什么(